
#ifndef __ETHER_QOS_H_
#define __ETHER_QOS_H_



static const uint8_t DEV_MAC[6] = {0x00, 0x1A, 0x2B, 0x3C, 0x4D, 0x5E};
static const uint8_t DEV_IP[4] = {169, 254, 206, 200};

/**
 * @brief 数据包的描述符结构体
 */
typedef struct _tag_eqos_context {

	// recvs
	int rxdesc_idx; //指向接收数据包存储的位置
	void * rxblk_ary[16];// 接收数据包存储的 block 数组
	
	// trans
	int txdesc_idx; //指向发送数据包存储的位置
	int txing_idx;			// 处于发送中, 还没有回收 block 的 desc index.
	void * txblk_ary[16]; // 发送数据包存储的 block 数组

} eqos_context_t;





int dbg_eth_mdio( void * parg, int argc, const char * argv[] );
int dbg_eth_phy( void * parg, int argc, const char * argv[] );
int dbg_eth_mac( void * parg, int argc, const char * argv[] );

int dbg_eth_check( void * parg, int argc, const char * argv[] );

int fpa_alloc( void ** pptr );

int dbg_eth_trans( eqos_context_t * pctx, void * pdat, int tlen );

int fpa_free( void * ptr );


uint16_t htons(uint16_t hostshort);

#endif

